#include <iostream>

using namespace std;

void printAB(int a, int b) {
	cout << "a:" << a << " b:" << b << endl;
}

// 定义inline方法，相当于在被调用处，直接展开里面的相关代码
inline void printInlineAB(int a, int b) {
	cout << "a:" << a << " b:" << b << endl;
}

// 声明一个方法使用inline不够的，需要在实现部分也要添加inline关键字
inline void printCD(int a, int b);
// 需要在方法实现的部分，添加inline关键字
inline void printCD(int c, int d){
	cout << "c:" << c << " d:" << d << endl;
}

int main(int argc, char *argv[]) {

	int a = 10;
	int b = 20;
	for (int i = 0; i < 100; i++) {
		a++;
		b++;
		// 定义普通的方法，会经过多次压榨操作，有点浪费开销
		printAB(a, b);
		// 对于，比较简单的方式，使用inline关键字，会节省开销
		printInlineAB(a, b);

		printCD(a, b);

	}

	return 0;
}
